[iOS] TestFlight 全工程解説 2016年春 【配信編】

[iOS] TestFlight 全工程解説 2016年春 【配信編】

Clock Icon2016.04.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは!タミー・トッキーこと田宮です!

今回から2回に渡って、TestFlight内部テスト外部テストの実施方法について、順を追って見ていきたいと思います。

1回目の今回は、テスト配信側で必要な操作を見ていきます。

Apple版TestFlightについては、サービス開始時から仕様が細かく変更されてきていますので、昔つかったことがある方も、一度ご覧頂ければと思います。

スクリーンショットをもれなく用意するため、複数のアプリの画面を使っています。ご了承下さい。

なお、公式ドキュメントは以下になります。

TestFlight Beta Testing (Optional)

目次

1. TestFlightの解説

TestFlightは2010年にスタートした、ベータ版のアプリをモバイル端末に配信するサービスです。2014年、当時このサービスを運営していたBurstly社からサービスを買い取ったAppleは、このサービスをiTunes Connectに統合しました。オリジナルのTestFlightAndroid端末もサポートされていましたが、こうした経緯から、現在はiOS端末向けのテストのみサポートされています。

現在TestFlightでは、2種類のテスト方法(内部テスト外部テスト)が用意されています。それぞれ見ていきましょう。

内部テストとは

TestFlight内部テストとは、iTunes Connect内で一定の権限を持つユーザに向けて配信するテストです。アプリごとに最大25ユーザに向けて配信出来ます。1ユーザ当たり10台の端末にインストールできるので、アプリ毎に250端末まで配信できます。用途としては、製品開発に関わる人がアプリの動作確認につかうといったことがメインになるかと思います。

外部テストとは

TestFlight外部テストとは、内部テストとは違い、一般向けに広く配信するテストです。配信可能な端末数は2000台です。ただし、ビルドについて審査が入るため、テスト可能になるまで時間がかかります。こちらは、ベータ版としてすでにある程度完成しているアプリについて、広く一般の方にアプリについて意見を頂くために使うことが想定されていると思います。

2. ビルドを用意する

さて、ここから先は、実際にテストを行うプロセスを、1つずつ確認していきましょう。 はじめに、内部テスト外部テストに共通する、準備段階のプロセスを見ていきます。

ビルドをアップロード

まずは、Xcodeを使って、テスト配信用のビルドをアップロードするところから、見ていきましょう。

貼り付けた画像_2016_04_21_15_20

なお、アップロードする際は、info.plistの各バージョン番号が、次の条件を満たす必要があります。

  • すでにストア上でこのアプリが配信されている場合、Bundle versions string, short(ストア上で表示されるバージョンと同一)は、ストア上の最新バージョンよりも大きいこと
    • すでにアップロード済みのベータ版のもの以下でも問題ありません。
  • Bundle version(= Buildバージョン)は、これまでにこのアプリのためにアップロードしたいずれのビルドの Bundle versionより大きいこと

Xcodeで、Project > Archiveと選ぶと、Organizerが起動し、アーカイブしたビルドが表示されます。

Upload to App Storeを選択します。

Development Teamを選択します。

貼り付けた画像_2016_04_18_17_54

最終的に準備ができたら、この画面になります。Uploadをクリックします。

スクリーンショット_2016-04-19_15_56_10

テスト配信用のビルドが、アップロード出来ました。

アップロードされたビルドを確認

iTunes Connectを開き、マイAppを選択。アップロードしたアプリを選択します。

TestFlight > 内部テスト(または外部テスト)を選択します。すると、先ほどアップロードしたビルドが表示されます。

スクリーンショット_2016-04-19_15_57_45

アップロードしたビルドを実際に使えるようになるまで、数十分〜数時間かかります。この間、iTunes Connect側のサーバで、ビルドを使用するための何らかの作業が行われているものと思われます。

しばらくすると、ビルドをテスト等に使えるようになります。ここまでのプロセスで、ビルドがテストに使用する準備が完了しました。このビルドは、もちろんApp Storeでの販売を目的としたサブミットにも使えます。

ここから先は、内部テスト外部テストに分けて、詳しく見ていきます。

3. 内部テスト

まずは、内部テストについて見ていきます。

iTunes Connectユーザを確認・追加し、テストで配信するビルドを選択。必要な情報を入力して、テスターに配信、という流れになります。

iTunes Connectユーザを確認

内部テストのテスターは、iTunes Connectに登録されたユーザである、iTunes Connectユーザである必要があります。まず既存のiTunes Connectユーザを確認しましょう。

iTunes Connectメニューで「ユーザーと役割」をクリックします。

既存のiTunes Connectユーザ一覧が表示されます。それぞれの項目の意味は、以下のとおりです。

  • Apple ID: ユーザの Apple ID
  • 名前: ユーザの登録名
  • 役割: AdminやDeveloperなど
    • 役割に応じた権限を持つ
  • App: ユーザがテストできるアプリ

内部テストのテスター要員になるためには、ユーザーの役割が、以下のいずれかである必要があります(TestFlight Beta Testing (Optional) より)

  • Admin
  • Technical
    • 2016/04/15現在、この役割をもつ新規ユーザー作成は不可
  • App Manager
  • Developer
  • Marketer

各役割の権限は、この表の通りです。☓が付いている箇所は実施できません。

iTunes Connectユーザを追加

iTunes Connectユーザを追加していきましょう。すでに適当なiTunes Connectユーザが登録されている場合、ここはスキップしてOKです。

ユーザー名とメールアドレスを入力します。

続いて、ユーザの 役割 と、そのユーザがiTunes Connect上でアクセスできるアプリを選択する画面が表示されます。

先述のように、テスター要員は 役割 で限定されています。新規追加の場合、上記スクリーンショットで、下線が引かれている4つの 役割 のいずれかが、選択されている必要があります。

純粋にテスターとしての権限のみでOKな場合は、権限が絞られている、DeveloperMarketer が適当かと思います。

続いて同じ画面上で、テスターがアクセス可能なアプリを指定できます。この画面で複数回アプリを選択していくことで、複数のアプリを指定可能です。

ここでアプリを指定しない場合、ユーザはiTunes Connect上で全てのアプリにアクセスできるようになります。テスト配信側が保有する、全てのアプリをテストできることを意味します。

最後に、画面右上の「次」をクリックします。

次の画面では、テスターが受け取るレポートを指定します。テスターの用途では、どれも特に必要ないかと思いますので、画面の通りの設定でOKだと思います。「保存」をクリックして、次に進みます。

この段階で、作成中のユーザのメールアドレス宛に、"ようこそ、新しいiTunes Connectユーザ"というタイトルの、招待メールが送られ、Apple ID登録のための追加情報や、iTunes Connectユーザとして登録するための規約の確認等が行われます。ちなみに、作成中のユーザのメールアドレスが、Apple IDとしてすでに使われている場合、規約確認のみとなります。

image

ユーザの一覧画面に戻ります。メールが送信されたことが画面上部に表示されます。また、ユーザ一覧表の中で、作成中のユーザは薄く表示されており、まだ作成が完了していない事がわかります。

ちなみに、「招待を再送信する」をクリックすると、再送信できます。メールが届かないなどの場合に便利ですね。

内部テストの実施

さて、ここからは、内部テストを実施する手順を見ていきます。

iTunes Connectにログインし、マイApp画面でテスト配信を実施したいアプリを選択します。

TestFlight > 内部テストをクリックします。

このような画面になります。

をクリックし、iTunes Connectユーザの中から、テスターを選出していきます。

テスターになってほしいiTunes Connectユーザの項目にチェックマークを入れ、追加 をクリックします。

テスターが 追加 されました!

スクリーンショット_2016-04-21_15_36_31

既にアップロード済みのビルドから、テストに使用するものを選択し、「次へ」をクリックします。

貼り付けた画像_2016_04_21_15_41

輸出コンプライアンスについて表示されます。特にこうした暗号化を使っていなければ、「いいえ」をクリックします

※ここで「はい」を選択した場合、次の画面で輸出コンプライアンスについて、「はい」を選択しないと、続行できなくなります。誤ってそうした操作をしても、やり直せばOKです。

スクリーンショット 2016-04-21 15.37.34

テスト準備が完了しました。

スクリーンショット_2016-04-21_15_37_55

「テストを開始」をクリックします。

スクリーンショット_2016-04-21_15_38_01

続いて表示されるウインドウでも「テストを開始」をクリックします。

スクリーンショット_2016-04-21_15_38_11

テストが開始されました!

ビルドを変更せず、新たにユーザを追加した場合、保存をクリックすると、アプリ配信がスタートします。あとは、テスターの方がテストを開始するのを待つのみです。

なお、アプリ配信が通知されるのは、今回新たに追加したユーザーに対してのみで、既に同一ビルドを受け取っている既存テスターがいる場合、そうしたユーザ対しては通知はされません。

4. 外部テスト

次に、外部テストについて見ていきます。

内部テストとは異なる部分として、主に3つあります。

  • 配信前に事前に審査が入る(審査に落ちることもあるらしい)
  • 2000端末に配信可能
  • テスターは何らかのメアドを持っていればよく、iTunes Connectユーザである必要なし

外部テスターを確認・追加

iTunes Connectのメニューから、 マイApp > (対象アプリ) > TestFlight > 外部テストを選択して行きましょう。

外部テストの画面が表示されます。ここで、外部テスターを確認します。今回が初めてのテストであれば、テスターは登録されていないと思います。ここで、ボタンをクリックします。

吹き出しメニューが出現します。いままでにテスターを追加したことがない場合は、新規テスターを追加をクリックします。まとまった数のテスターを追加したい場合は、CSVから読み込むが便利そうですね。

テスターを追加する管理画面が表示されます。ここで、メアドと名前を入力して追加していきます。事前に了承いただいた人に送付すると良さそうですね。

無事外部テスターが追加されました!

外部テストの実施

スクリーンショット_2016-04-21_16_26_34

続いて、「テスト対象ビルドを追加」をクリック。

スクリーンショット_2016-04-21_16_26_45

アップロードしたビルドを選択します。表示されている過去のビルドも選択可能です。

スクリーンショット_2016-04-21_16_31_03

テスターに知らせたい各種情報を入力します。

スクリーンショット_2016-04-21_16_32_15

ベータ版 App Review画面です。審査に必要な情報を入力します。これらの情報を使い、Apple の App Store チームが内容の審査を行うことになっています。

スクリーンショット_2016-04-21_16_32_21

Apple App Store チームに審査にあたって伝えたい事を入力します。空欄にすると後の画面でエラーとなります。

スクリーンショット_2016-04-21_16_32_33

輸出コンプライアンス画面では、内部テスト同様、適切な物を選択し、「送信」をクリックします。

スクリーンショット_2016-04-21_16_33_14

元の画面に戻り、「ベータ版 App Review 待ち」と表示されます。

スクリーンショット_2016-04-21_16_52_17

審査が終われば、「テスト準備完了」となり、このビルドをテストに使用できるようになります。ここで「保存」をクリックします(「テストを開始」になっている可能性もあります)。

スクリーンショット_2016-04-21_16_52_22

テスト開始の最終確認が行われます。

スクリーンショット_2016-04-21_16_52_29

テストが開始されました。この時点で、テスターに、新規ビルドについて連絡が行きます。

あとは、テスターの方が、テストを開始するのを待つのみです。

5. まとめ

いかがでしたか?今回は、TestFlightでテスト配信を行う方法を見てきました。

次回【テスター編】では、テストを実施する方がどのようにテストビルドをインストールし、実行すればよいのかを見ていきたいと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.